04. Add a Package

Add a Package

Add a Package

Cloning the simple_arm Package

One of the biggest benefits of using ROS is that it has a really large community of users and developers who have already created a lot of code that you can reuse.

Let’s clone an existing package and add it to our newly created workspace.

Start by navigating to the src directory and cloning the simple_arm package for this lesson from its GitHub repo.

$ cd /home/workspace/catkin_ws/src/
$ git clone -b first_interaction https://github.com/udacity/RoboND-simple_arm/ simple_arm

Building the simple_arm package

After the repo has finished cloning, you can change directory to the top-level of the ROS workspace and build the new package.

$ cd /home/workspace/catkin_ws/
$ catkin_make

Getting Errors?

Sometimes you might get a missing package error while building the catkin workspace. For example: "Could not find a package configuration file provided by controller_manager"

I happen to know that controller_manager refers to a ROS package from ROS Control. We can fix this by installing the associated Linux package, which itself contains and will install the necessary ROS package. But, if I didn't already know this, I would probably have to rely on a Google search to figure out the exact name of the package required.

For your convenience, this package is already installed in the workspace and you shouldn’t receive the error. But, you can always re-install the package with this command:

$ sudo apt-get install ros-kinetic-controller-manager